<?php

namespace App\Services\Traits;

use App\Http\Controllers\Api\ActingController;
use Exception;
use Illuminate\Support\Facades\Cache;

trait Proxies
{
    private $proxies = []; // 代理IP列表

    public function initProxies()
    {
        // 设置超时时间（秒）
        $timeout = 40; // 例如：10秒

        // 获取当前时间戳
        $start_time = time();
        do {
            $chache=Cache::get('test2');
            if ($chache){
                $redis = app('redis')->connection();
                $ttl = $redis->pttl('test2');
                dump($chache,$ttl);
                break; // 如果缓存存在，退出循环
            }
            // 检查是否超过了超时时间
            if (time() - $start_time >= $timeout) {
                throw new Exception("超时：等待缓存 'test2' 超过 {$timeout} 秒");
            }

            // 如果需要，可以在这里添加 sleep 来减少 CPU 占用
            usleep(100000); // 例如：暂停 0.1 秒
        }while(!Cache::has('test2'));
        dd(222);
    }
    public function getProList()
    {
        $rest=new ActingController();
        $httpreqs=new  \Illuminate\Http\Request();
        $httpreqs->setMethod('POST');
        $httpreqs->request->add(['type'=>1]);
        return $rest->getActing($httpreqs);
    }
}
